home *** CD-ROM | disk | FTP | other *** search
- Bridging mini-Howto
- Christopher Cole, cole@lynkmedia.com
- v1.10, 13 November 1997
-
- This document describes how to setup an ethernet bridge. What is an
- ethernet bridge? An ethernet bridge is a device that controls data
- packets within a subnet in an attempt to cut down the amount of traf¡
- fic. A bridge is usually placed between two separate groups of comput¡
- ers that talk within themselves, but not so much with the computers in
- the other group. A good example of this is to consider a cluster of
- Macintoshes and a cluster of Unix machines. Both of these groups of
- machines tend to be quite chatty amongst themselves, and the traffic
- they produce on the network causes collisions for the other machines
- who are trying to speak to one another. A bridge would be placed
- between these groups of computers. The job of the bridge is then to
- examine the destination of the data packets one at a time and decide
- whether or not to pass the packets to the other side of the ethernet
- segment. The result is a faster, quieter network with less colli¡
- sions.
-
- 1. Setup
-
- 1. Get ``Bridge Config'':
-
- <ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz>
-
- 2. Obtain and read the ``Multiple ethernet'' HOWTO:
-
- <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/Multiple-Ethernet>
-
- 3.
-
- Enable multiple ethernet devices on your machine by adding this to
- your /etc/lilo.conf, and re-run lilo:
-
- append = "ether=0,0,eth1"
-
- If you have three interfaces on your bridge, use this line instead:
-
- append = "ether=0,0,eth1 ether=0,0,eth2"
-
- More interfaces can be found by adding more ether statements. By
- default a stock Linux kernel probes for a single ethercard, and once
- one is found the probe ceases. The above append statement tells the
- kernel to keep probing for more ethernet devices after the first one
- is found.
-
- Alternatively, the boot parameter can be used instead:
-
- linux ether=0,0,eth1
-
- Or, with 3 interfaces, use:
-
- linux ether=0,0,eth1 ether=0,0,eth2
-
- 4. Recompile the kernel with BRIDGING enabled.
-
- 5. A bridge should not have an IP address. It CAN, but a plain bridge
- doesn't need one. To remove the IP address from your bridge, go to
- /etc/sysconfig/network-scripts/ (for a RedHat system) and copy
- ifcfg-lo0 to ifcfg-eth0 & ifcfg-eth1. In these 2 eth files, change
- the line containing ``DEVICE=lo'' to ``DEVICE=eth0'' and
- ``DEVICE=eth1''. Other distributions may deviate from this, do
- what you need to do! If there are more than 2 interfaces to this
- bridge, be sure to make the corresponding configurations to those,
- as well.
-
- 6. Reboot, so you are running the new kernel with bridging in it, and
- also to make sure that an IP addresses are not bound to the network
- interfaces.
-
- 7. Once the system is back up, put the ethernet cards into promiscuous
- mode, so they will look at every packet that passes by its
- interface:
-
- ifconfig promisc eth0 ; ifconfig promisc eth1
-
- All interfaces which are connected to network segments to be bridged
- are to be put into promiscuous mode.
-
- 8. Turn bridging ON using the brcfg program:
-
- brcfg -ena
-
- 9. Verify that there is different traffic on each interface:
-
- tcpdump -i eth0 (in one window)
- tcpdump -i eth1 (in another window)
-
- 10.
- Run a sniffer or tcpdump on another machine to verify the bridge is
- separating the segment correctly.
-
- 2. Common problems
-
- 1.
-
- Question
- I get the message
-
- ioctl(SIOCGIFBR) failed: Package not installed
-
- What does this mean?
-
- Answer
- You don't have bridging capability in your kernel. Get a 2.0 or
- greater kernel, and recompile with the BRIDGING option enabled.
-
- 2.
-
- Question
- Machines on one side cannot ping the other side!
-
- Answer
-
- ╖ Did you enable bridging using ``brcfg -ena''? (brcfg should say
- ``bridging is ENABLED'')
-
- ╖ Did you put the interfaces into promiscuous mode? (issue the
- ``ifconfig'' command. The ``PROMISC'' flag should be on for
- both interfaces.)
-
- ╖ If using multiple-media interface adapters, make sure that the
- correct one is enabled. You may need to use the config/setup
- program that came with the network interface card.
-
- 3.
-
- Question
- I cannot telnet/ftp from the bridge! Why?
-
- Answer
- This is because there is no IP address bound to any of bridge
- interfaces. A bridge is to be a transparent part of a network.
-
- 4.
-
- Question
- What do I need to set up in the way of routing?
-
- Answer
- Nothing! All routing intelligence is handled by the bridging
- code in the kernel. To see the ethernet addresses as they are
- learned by the bridge, use the brcfg program in debug mode:
-
- brcfg -deb
-
- 5.
-
- Question
- The bridge appears to work, but why doesn't ``traceroute'' show
- the bridge as a part of the path?
-
- Answer
- Due to the nature of a bridge, a ``traceroute'' should NOT show
- the bridge as a part of the path. A bridge is to be a
- transparent component of the network.
-
- 6.
-
- Question
- Is it necessary to compile IP_FORWARD into the kernel?
-
- Answer
- No. The bridging code in the kernel takes care of the packet
- transport. IP_FORWARD is for a gateway which has IP addresses
- bound to its interfaces.
-
- 7.
-
- Question
- Why are the physical ethernet addresses for port 1 and port 2
- the same according to the ``brcfg'' program? Shouldn't they be
- different?
-
- Answer
- No. Every port on a bridge intentionally is assigned the same
- physical ethernet address by the bridging code.
-
- 8.
-
- Question
- Bridging does not appear to be an option when performing a make
- config on the kernel. How does one enable it?
-
- Answer
- During the kernel config, answer 'Y' to the question, ``Prompt
- for development and/or incomplete code/drivers
- (CONFIG_EXPERIMENTAL) Y/n/?''.
-
- 9.
-
- Question
- Too many hubs (4 or more) chained one after another (in series)
- cause timing problems on an ethernet. What effect does a bridge
- have in a subnet that is layered with hubs?
-
- Answer
- A bridge resets the 3/4/5 hubs rule. A bridge does not deal
- with packets the way a hub does, and is therefore not a
- contributor to timing problems on a network.
-
- 10.
-
- Question
- Can a bridge interface to both 10Mb and 100Mb ethernet segments?
- Will such a configuration slow down the rest of the traffic on
- the high speed side?
-
- Answer
- Yes, a bridge can tie together a 10Mb segment with a 100Mb
- segment. As long as the network card on the fast network side
- of the bridge
-
- is 100Mb capable, TCP will take care of the rest. While it is
- true
-
- that the packets from a host in the 100Mb network communicating
- to
-
- a host in the 10Mb network are moving at only 10Mb/s, the rest
- of
-
- the traffic on the fast ethernet is not slowed down.
-
-